在熵编码中,熵值的计算

来源:百度知道 编辑:UC知道 时间:2024/09/21 19:28:06
据我所知,在熵值计算中,公式是:H=-SUM(pi*log(pi)),i=1,2…N。H称为熵。PI为各个元素的概率。LOG是以2为底。每个元素的可能只有2个,也就是说0或者1.
那么我想问的是:如果如果元素的可能值是9个,那么在公式中LOG是不是要以9为底进行计算?
请在解答的同时提供相关资料和出处并证明答案的精确性。
非常感谢,非常急!

不对,底数为2并不是指每种元素只有两个状态,当时申农在创立这个信息熵的公式时,之所以选底数2,主要是为了把这个计算结果值的单位使用bit。因为Bit是一个二制中度量存贮信息容量的单位,在计算机中被称为比特,而在二进制中只有0,1二值。如果计算出的信息量的单位要沿用计算机中的bit这个单位的话,那么它的底数就必须取2,这并不等于说在计算信息量中,事件的状态必须是二值的。换句话说,一个9态事件的熵值是-Log(2)9。(括号中的2表示底数),即-3.17 bit,那么为了消除其不确定性,需要的信息量即为3.17 bit。
应该说,取什么底都可以,取不同的底,单位就不同,如果用bit作单位,那底就要取2.


【拼音:shāng】熵的概念是由德国物理学家克劳修斯于1877年所提出。化学及热力学中所指的熵,是一种测量在动力学方面不能做功的能量总数。熵亦被用于计算一个系统中的失序现象。熵是一个描述系统状态的函数,但是经常用熵的参考值和变化量进行分析比较。
详细释义
1:物理学上指热能除以温度所得的商,标志热量转化为功的程度。
2: 科学技术上用来描述、表征系统不确定程度的函数。亦被社会科学用以借喻人类社会某些状态的程度。
3:传播学中表示一种情境的不确定性和无组织性。
熵的特点
1.熵是体系的状态函数,其值与达到状态的过程无关;
2.熵的定义是:dS=dQR/T,因此计算不可逆过程的熵变时,必须用与这个过程的始态和终态相同的可逆过程的热效应dQR来计算;
3.TdS的量纲是能量,而T是强度性质,因此S是广度性质。计算时,必须考虑体系的质量;
4.同状态函数U和H一样,一般只计算熵的变化。

  计算步骤如下图:

在java中,没有处理字符串的编码,那么字符串用的是什么编码方式? 在JAVA中对字符集编码操作的一点问题 在编程中,怎样解决重复编码的问题? asp中编码的问题 在google sky中,有各种各样的编码,如HD32等,这是什么意思呀?求一张星系编码列表. JPEG算法主要的是DCT变换,量化,Z字型编码,DPCM编码,RLE编码,熵编码,请问哪些是对图象质量是有损的? 怎样在系统中安装阿拉伯语编码 如何在C++中使用unicode编码 在windowsXP中怎样安装日文编码 在AUTOCAD中计算面积的方法